首先引入一些后面会用到的定理:
定义 1:定义函数$f: \Bbb R^{m \times n} \mapsto \Bbb R$,$A \in \Bbb R^{m \times n}$,定义
定义 2:矩阵的迹(Trace):如果$A \in R^{n\times n}$方阵,那么$A$的迹,是$A$对角线元素之和
定理 1:$tr AB = tr BA$
定理 2:$tr ABC = tr CAB = tr BCA$
定理 3:$f(A)=tr AB \Rightarrow \nabla_Af(A)=B^T$
定理 4:$trA = tr A^T$
定理 5:$a \in R \Rightarrow tr a=a$
定理 6:$\nabla_AtrABA^TC=CAB+C^TAB^T$
线性回归
一些符号的改写
上一篇博客提到,梯度下降的每一步,对某个参数$\theta_i$,执行:
那么,$h_\theta(x)$的所有参数$\theta$可以表示成一列向量:
我们可以定义:
梯度下降过程可以表示成:
其中,$\theta$和$\nabla_\theta J$都说是 n+1 维向量。
对于训练集中所有的输入${x^{(1)}},x^{(2)},…,x^{(m)}$,其中
$h(x)=h_{\theta}(x)=\theta_0+\theta_1x_1+\theta_2x_2+…+\theta_nx_n$,可以表示成向量:
而
于是,
推导过程
关于梯度下降法,可以直接简化为求梯度为 0 的位置,即求$\nabla_\theta J(\theta) = \vec{0}$
首先,简化:
其中,第一项:
第二项和第三项:
所以:
最后解得:
当然,以上的解是有限制的,只有当$X^TX$满秩时,才能够求逆。
如果非满秩,说明方程数量不够,也就是当需要 n 个参数时,却不够 n 个输入样本。